/**
 * (C)2012 Exlu Corporation. All rights reserved.
 * 注意事項   :
 */
package cn.exlu.wea.io.directory.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

/**
 * 文本文件读取器
 * @author Mark
 * @version 1.0.1.1
 * @CreateTime 2013-1-23
 */
public class FileStringReader {
    private BufferedReader buffReader;

    /**
     * 构造函数
     * @param fileFullPath 文件全路径
     * @param encode 读取文件内容采用的编码
     * @throws FileNotFoundException 没有找到文件
     * @throws UnsupportedEncodingException 所用编码不能识别
     */
    public FileStringReader(String fileFullPath, String encode) throws FileNotFoundException, UnsupportedEncodingException {
        buffReader = new BufferedReader(new InputStreamReader(new FileInputStream(fileFullPath), encode));
    }
    
    /**
     * 构造函数
     * @param file 文件
     * @param encode 读取文件内容采用的编码
     * @throws FileNotFoundException 没有找到文件
     * @throws UnsupportedEncodingException 所用编码不能识别
     */
    public FileStringReader(File file, String encode) throws FileNotFoundException, UnsupportedEncodingException {
        buffReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), encode));
    }

    /**
     * 读取一行
     * @return NULL表示文件到达结尾
     * @throws IOException 读取异常
     */
    public String readLine() throws IOException {
        return buffReader.readLine();
    }

    /**
     * 关闭文件
     * @throws IOException 关闭异常
     */
    public void close() throws IOException {
        buffReader.close();
    }
}
